package com.it.thymeleaf.thymeleafdemo.service.imp;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.it.thymeleaf.thymeleafdemo.bean.Emp;
import com.it.thymeleaf.thymeleafdemo.mapper.EmpMapper;
import com.it.thymeleaf.thymeleafdemo.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class EmpServiceImp implements EmpService {
    @Autowired
    private EmpMapper empMapper;

    /**
     * 查询全部员工信息的方法
     * @return
     */
    @Override
    public List<Emp> selectAllEmpList() {
        return empMapper.selectList(null);
    }

    /**
     * 添加新员工信息的方法
     * @param emp
     * @return
     */
    @Override
    public int addEmp(Emp emp) {
        return empMapper.insert(emp);
    }

    /**
     * 通过姓名模糊查询员工信息的方法
     * @param ename
     * @return
     */
    @Override
    public List<Emp> selectEmpByName(String ename) {
        Wrapper<Emp> wrapper = new QueryWrapper<>();
        ((QueryWrapper<Emp>) wrapper).like("ename",ename);
        return empMapper.selectList(wrapper);
    }

    /**
     * 通过编号查询员工信息的方法
     * @param empno
     * @return
     */
    @Override
    public Emp selectEmpById(int empno) {
        return empMapper.selectById(empno);
    }

    /**
     * 修改员工信息的方法
     * @param emp
     * @return
     */
    @Override
    public int updateEmpById(Emp emp) {
        return empMapper.updateById(emp);
    }

    /**
     * 删除员工信息的方法
     * @param empno
     * @return
     */
    @Override
    public int deleteEmpById(int empno) {
        return empMapper.deleteById(empno);
    }
}
